//
// Created by v on 19-6-13.
//

#ifndef JKLIBS_OAVBASE_H
#define JKLIBS_OAVBASE_H

#include "opencv2/opencv.hpp"

#include "config/CMConfigGeneral.h"

class OAVBase
{
  public:
    OAVBase();
    OAVBase(int argc, char **args);
    virtual ~OAVBase();

    void tickStart();
    void tickEnd();
    int  getTickInterval();

    virtual int do_func(const char *filename) = 0;

  protected:
    CMConfigCpp *m_conf;

  private:
    std::list<std::string> m_args;
    double                 m_tickStart;
    double                 m_tickEnd;
    int                    m_tickInterval;
};

#endif // JKLIBS_OAVBASE_H
